package com.hymjweb.demo.hymj.master_bill_manage.pull.bean;

import com.hymjweb.demo.framework.util.pojoContrast.FieldMeta;
import com.hymjweb.demo.hymj.master_bill_manage.pull.detail.bean.BMasterBillPullDetailPojo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Table(name = "b_master_bill_pull")
@Data
@ToString
public class BMasterBillPullPojo implements Serializable {

    @FieldMeta(columnname = "id", name = "主单分单拉货表ID")
    private String id;

    @FieldMeta(columnname = "master_bill_type_id", name = "主单类型ID", comment = "主单类型ID,关联xt_dic.id key='XT_DIC_MASTER_BILL_TYPE'")
    private Long masterBillTypeId;

    @FieldMeta(columnname = "master_bill_id", name = "主单ID", comment = "主单ID,关联b_master_bill_flight.id或b_master_bill_auto.id")
    private String masterBillId;

    @FieldMeta(columnname = "pull_dispose_number", name = "主单拉货总件数")
    private Long pullDisposeNumber;

    @FieldMeta(columnname = "pull_dispose_actual_weight", name = "主单拉货实际重量")
    private Double pullDisposeActualWeight;

    @FieldMeta(columnname = "pull_dispose_chargeable_weight", name = "主单拉货计费重量")
    private Double pullDisposeChargeableWeight;

    @FieldMeta(columnname = "pull_dispose_volume", name = "主单拉货总体积")
    private Double pullDisposeVolume;

    @FieldMeta(columnname = "pull_dispose_transport_cost_amount", name = "航空运费拉货调整金额", comment = "航空运费拉货调整金额(可正可负，正值表示公司补交给航空公司，负值表示航空公司退费给公司)")
    private Double pullDisposeTransportCostAmount;

    @FieldMeta(columnname = "pull_dispose_ground_amount", name = "地面运费调整金额", comment = "地面运费调整金额，可正可负(正表示公司需要补交费用给机场，为负表示机场退费给公司)")
    private Double pullDisposeGroundAmount;

    @FieldMeta(columnname = "pull_dispose_airlines_add_cost_amount", name = "航空附加费用调整金额",  comment = "航空附加费用调整金额(可正可负，正表示公司补交费用给航空公司中，为负表示航空公司退费给公司)")
    private Double pullDisposeAirlinesAddCostAmount;

    @FieldMeta(columnname = "pull_dispose_other_charges_amount", name = "其他费用调整金额",  comment = "其他费用调整金额(可正可负，正表示公司补交费用给相关方面，为负表示相关方面退费给公司)")
    private Double pullDisposeOtherChargesAmount;

    @FieldMeta(columnname = "pull_dispose_amount", name = "拉货处置金额",comment = "拉货处置总金额=航空运费调整金额 + 地面运费调整金额 + 航空附加费用调整金额 + 其他费用调整金额,客户补费记正值,退客户费用记负值,该金额为该主单下所有分单拉货处理金额的总和，同时要记入主单表相应字段")
    private Double pullDisposeAmount;

    @FieldMeta(columnname = "pull_dispose_comment", name = "拉货处置说明")
    private String pullDisposeComment;

    @FieldMeta(columnname = "create_time", name = "创建时间")
    private Date createTime;

    @FieldMeta(columnname = "create_user_id", name = "记录添加人ID", comment = "关联XT_USER.ID")
    private String createUserId;

    @FieldMeta(columnname = "update_time", name = "更新时间")
    private Date updateTime;

    @FieldMeta(columnname = "update_user_id", name = "更新用户ID", comment = "关联XT_USER.ID")
    private String updateUserId;

    // 分单拉货对象列表
    private List<BMasterBillPullDetailPojo> pullList;

}
